home *** CD-ROM | disk | FTP | other *** search
- xlmsg.doc
- W.D.L 930708
- -----------------------------------------------------------------------
-
- xlmsg.c is source to a program which demonstrates how to communicate
- with cdgsxl through exec Messages and Message Ports. To test xlmsg
- do the following from the CLI.
-
-
- > run cdgsxl xlfilename MSGPORTNAME xlport
- > xlmsg xlport
-
- The MSGPORTNAME forces cdgsxl to create a MsgPort named 'xlport'. This
- port name is then passed into xlmsg (xlmsg xlport). xlmsg sends 2 messages
- to cdgsxl. A XLM_CMD_QUERY message and a XLM_CMD_ABORT message.
-
- The message structure that cdgsxl uses for its MessagePort communication
- is as follows:
-
- typedef struct XLMessage {
- struct Message msg;
- ULONG command;
- ULONG status;
-
- } XLMESSAGE;
-
- Where command can be one of XLM_CMD_QUERY or XLM_CMD_ABORT. XLM_CMD_QUERY
- just does a query on cdgsxl and returns status bits in the XLMESSAGE status
- member. XLM_CMD_ABORT causes cdgsxl to abort.
-
- If cdgsxl is started with the MSGPORTNAME keyword, and it finishes playing a
- CDXL sequence before it recieves a XLM_CMD_ABORT command, it will wait without
- closing down its screen for either a XLM_CMD_QUERY command or a CTRL_C break.
-
- If cdgsxl is started with the MSGPORTNAME keyword, and it recieves a XLM_CMD_ABORT
- command before it finishes playing a CDXL sequence, it will abort playback and
- close down everything, forgoing any waiting.
-
- At any time you can query the state of cdgsxl by sending a XLM_CMD_QUERY
- command to cdgsxl. cdsgxl will set bits in the status field which represent
- its state. Also if cdgsxl gets a XLM_CMD_ABORT command, it will set the status
- bits to let you know what was happening just prior to recieving the command.
-
- Currently only the following status bits are supported:
-
- XLM_STATUS_PLAYING // cdgsxl is playing a CDXL sequence
-
- XLM_STATUS_ABORTING // cdgsxl is in the process of aborting.
-
-
- See:
-
- xlmsg.c xlm.h cdgsxl.doc
-
-